package comportement;

import cartes.Carte;
import cartes.Monstre;
import cartes.Objet;
import common.Constantes;
import java.io.Serializable;
import java.util.ArrayList;
import plateau.Inventaire;
import plateau.Joueur;

public class ModifierInventaire implements ActionCarte, Serializable {

    protected int type;

    public void utiliser(Joueur j, Joueur j2) {
    }

    public void utiliser(Monstre m) {
    }

     /* NON TERMINE *****
     * Permet de défausser la carte de l'inventaire selon le type spécifié sur la carte action
     * @param :
     *  - joueur   : le joueur qui est la cible de la carte action
     * @author : Antonin
     */

    // IL RESTE A GERER LES AUTRES TYPES DE CARTES (défausser objet le plus important...)

    public void utiliser(Joueur j) {

        //On récupére le type de carte (
        ArrayList<Carte> l = new ArrayList<Carte>(); 
        l = j.getInventaire().getType(type);

        for (Carte c : l )
        {
            Objet o = (Objet) c;

            // Pour les équipements de tête, jambes et pieds une seule carte est possible, la liste renvoyée dans "l" contient
            // donc uniquement la carte à défausser
            if(o.type == Constantes.EQU_PIEDS || o.type == Constantes.EQU_JAMBES || o.type == Constantes.EQU_TETE)
            {
                j.defausserInventaireForce(c);
            }
        }


    }

}